package com.pro.service;

import com.pro.pojo.JsUserOrder;
import com.pro.pojo.JsonData;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * @author 李佳豪
 * @date 2022/1/6 19:26
 */
public interface JsUserOrderService {
    /**
     * @author 李佳豪
     * 根据订单状态获取数量
     */
    Integer TotalCourseStatusCalculations(Integer orderType,Integer orderStatus);
    /*订单处理列表、退货中、已退货*/
    Map<String,Object> UnsubscribeProcessingCount();

    /**
     * @author 李佳豪
     * @date 2022/1/10 3:08
     * 查询所有课程订单
     */
    List<JsUserOrder> getAllCourseOrder(JsUserOrder param);
    /**
     * @author 李佳豪
     * @date 2022/1/10 3:08
     * 根据状态查询课程订单
     */
    List<JsUserOrder> QueryCourseOrdersByStatus(JsUserOrder param);
    /**
     * @author 李佳豪
     * @date 2022/1/11 10:03
     * 根据id删除订单信息
     */
    int DeleteOrderById(Integer orderId);
    /**
     * @author 李佳豪
     * @date 2022/1/11 14:56
     * 订单高级检索
     */
    List<JsUserOrder> OrderAdvancedRetrieval(JsUserOrder param);
    /**
     * @author 李佳豪
     * @date 2022/1/12 9:01
     * 已取消订单查询
     */
    Map<String,Object> CancelledOrder(JsUserOrder param);
    /**
     * @author 李佳豪
     * @date 2022/1/12 13:29
     * 已受理订单查询
     */
    List<JsUserOrder> GetAllAcceptedOrders(JsUserOrder param);
    /**
     * @author 李佳豪
     * @date 2022/1/12 14:04
     * 已受理订单高级检索
     */
    List<JsUserOrder> AcceptedOrdersAdvancedRetrieval(JsUserOrder param);
    /**
     * @author 李佳豪
     * @date 2022/1/12 15:40
     * 已受理订单数量
     */
    Map<String,Object> AcceptedOrdersCount(JsUserOrder param);
    /**
     * @author 李佳豪
     * @date 2022/1/12 18:46
     * 根据状态查询已受理订单信息
     */
    List<JsUserOrder> QueryAcceptedOrdersByType(JsUserOrder param);

    /**
     * @Author 祖铭泽
     * @Date 2022/1/21/0013
     * @description 根据订单状态、订单类型查询订单数量
     */
    JsonData getReturnApplicationOrderCount(JsUserOrder jsUserOrder);
}
